<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>字符串的增强</title>
</head>

<body>

    <script>
        //globalThis对象 
        //引入globalThis作为顶层对象任何环境都可以拿到顶层的对象，指向全局环境下的this
        // console.log(globalThis);//window
        // console.log(this);//window  输出globalThis与输出This一样都会输出window对象

        //2.2.1 模板字符串
        //模板字符串<==>加强版字符串，用反引号(`)表示模板字符串。
        //还可以用来定义多行字符串，还可以在在字符串中加入常量和表达式

        //2.10模板字符串表示普通字符串
        //传统方式，使用+进行拼接
        //  var message="习近平新时代中国特色社会主义思想是当代"+
        //             "中国马克思主义、二十一世纪马克思列宁主义。";
        //  //传统方式，使用JavaScript的bug（反斜杠）
        //  var message2="习近平新时代中国特色社会主义思想是当代\
        //                 中国马克思主义、二十一世纪马克思列宁主义。";
        //  //es6方式(反引号+反斜杠)
        //  var message3=`习近平新时代中国特色社会主义思想是当代\
        //                 中国马克思主义、二十一世纪马克思列宁主义。`;
        //  console.log(message);
        //  console.log(message2);
        //  console.log(message3);


        // 2.11 模板字符串表示多行字符串
        //传统方式使用\n进行分段
        // var message = "听党指挥" + "\n" + "能打胜仗" + "\n" + "作风优良";
        // //es6方式
        // let message2 = `听党指挥
        // 能打胜仗
        // 作风优良`;  
        // console.log(message);//进行分段输出打印
        // console.log(message2);//用模板字符串表示多行字符串，所有空格和缩进都算在其中

        // // 2.12模板字符串插入变量和表达式
        // let name="huizihao";
        // let age=20;
        // let info=`my name is ${name},I am ${age+1} years old next year.`
        // console.log(info); //模板字符串插入变量和表达式时，要写在${}中，直接输出对应的值。



        //2.2.2字符串的新增方法
            // (1)补全字符串
            // padStart()用于头部补全，padEnd()用于尾部补全
            // let str1='x'.padStart(5,'ab');
            // console.log(str1);//console: ababx
            // let str2='x'.padEnd(5,'ab');
            // console.log(str2);//console: xabab


            //2.15消除空格
            // const s='   welcome   ';
            // console.log(s.trim());//消除全部空格
            // console.log(s.trimStart());//消除前面空格
            // console.log(s.trimEnd());//消除后面空格
            

            // 2.16返回指定位置的字符
            const str="hello";
            console.log(str.at(1));//返回下标为1的字符
            console.log(str.at(-1));//返回下标为-1的字符，-1是从后往前数
            console.log(str.at(7));//超过了字符串的长度返回undefined


    </script>
</body>

</html>